Information processing apparatus, information processing method, and program

ABSTRACT

There is provided an information processing apparatus including first and second display panels capable of displaying a plurality of objects and being connected with each other via a connection unit serving as a non-display region in which the objects are not displayed, an input position detection unit for detecting a position of an operator, a direction detection unit for detecting a moving direction of the operator, a moved position calculation unit for calculating a moved position to which an object selected with the operator moves, and a display position correction unit for moving the selected object from the non-display region, on the basis of a display position of the selected object or a moving direction of the operator, in a case where at least a portion of the selected object having moved to the calculated moved position resides in the non-display region.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatus, aninformation processing method, and a program.

2. Description of the Related Art

Recently, many of small electronic appliances and consumer transactionfacilities are equipped with a touch panel for allowing a user todirectly touch a display screen so as to operate an object displayed onthe screen. The use of the touch panel provides an intuitive operabilityand has an advantage in that even a user unfamiliar with operating akeyboard, a keypad, and the like can easily operate the touch panel.Some electronic appliances allow a user to operate a touch panel so asto move a displayed object displayed on the screen and execute apredetermined processing upon this moving operation.

An electronic appliance having two foldable above-described displayscreens connected to each other can display more information on the twodisplay screens than an electronic appliance having one display screen,thus improving the convenience for the user. However, in many cases, anobject may not be displayed on a portion connecting the two displayscreens with each other. Therefore, in the foldable electronicappliance, it is important to cope with this kind of connection portion.

For example, in a technique disclosed in Japanese Patent ApplicationLaid-Open No. 6-44001, when a displayed object is moved from one displayscreen to another display screen, the displayed object is moved acrossthe screens in a case where a moving speed is equal to or more than apredetermined speed at the time when a moving instruction has beenfinished. Japanese Patent Application Laid-Open No. 2005-278938discloses a program for treating two display screens including aconnection portion therebetween as one virtual display screen.

SUMMARY OF THE INVENTION

However, in the technique described in Japanese Patent ApplicationLaid-Open No. 6-44001, a user who wants to move an object spanning twoscreens needs to perform operation upon taking into consideration themoving speed at the time when the moving instruction has been finished,and therefore, this technique causes an issue in the operability of theapparatus. On the other hand, the program described in Japanese PatentApplication Laid-Open No. 2005-278938 disregards a case where a portionof a displayed object resides in the connection portion between the twodisplay screens placed as a result of a moving processing of thedisplayed object.

In view of the above issues and other issues associated withconventional methods and apparatuses, the present invention provides aninformation processing apparatus, an information processing method, anda program capable of easily moving a displayed object displayed on onedisplay screen to another display screen without any special operationperformed.

According to an embodiment of the present invention, there is providedan information processing apparatus including first and second displaypanels capable of displaying a plurality of objects, the first andsecond display panels being connected with each other via a connectionunit serving as a non-display region in which the objects are notdisplayed, an input position detection unit for detecting a position ofan operator located on the first and/or second display panels, adirection detection unit for detecting a moving direction of theoperator, on the basis of a time change of the detected position of theoperator, a moved position calculation unit for calculating a movedposition to which an object selected with the operator moves, theselected object moving to the moved position along a path in which theoperator moves, and a display position correction unit for moving theselected object from the non-display region, on the basis of a displayposition of the selected object or a moving direction of the operator,in a case where at least a portion of the selected object having movedto the calculated moved position resides in the non-display region.

According to the above configuration, the input position detection unitdetects the position of the operator located on one of the first andsecond display panels, and the direction detection unit detects themoving direction of the operator, on the basis of the time change of thedetected position of the operator. The moved position calculation unitcalculates the moved position to which one of the objects selected withthe operator moves, wherein the selected object moves to the movedposition along the path in which the operator moves. The displayposition correction unit moves the selected object from the non-displayregion, on the basis of a display position of the selected object or themoving direction of the operator, in a case where at least a portion ofthe selected object having moved to the calculated moved positionresides in the non-display region.

The display position correction unit may preferably move the selectedobject to one of the first and second display panels in which abarycenter of the selected object resides, on the basis of the positionof the barycenter of the selected object.

The display position correction unit may move the selected object to oneof the first and second display panels toward which the operator moves,in a case where the selected object is in proximity to the non-displayregion.

The display position correction unit may move the selected object to oneof the first and second display panels toward which the operator moves,in a case where attribute information associated with the selectedobject changes when the selected object is moved from one of the firstand second display panels to the other of the first and second displaypanels.

According to another embodiment of the present invention, there isprovided an information processing method including the steps ofdetecting a position of an operator located on first and/or seconddisplay panels capable of displaying a plurality of objects, the firstand second display panel being connected with each other via aconnection unit serving as a non-display region in which the objects arenot displayed, detecting a moving direction of the operator, on thebasis of a time change of the detected position of the operator,calculating a moved position to which an object selected with theoperator moves, the selected object moving to the moved position along apath in which the operator moves, and moving the selected object fromthe non-display region, on the basis of a display position of theselected object or a moving direction of the operator, in a case whereat least a portion of the selected object having moved to the calculatedmoved position resides in the non-display region.

According to another embodiment of the present invention, there isprovided a program for a computer having first and second display panelscapable of displaying a plurality of objects, the first and seconddisplay panels being connected with each other via a connection unitserving as a non-display region in which the objects are not displayed,the program causing the computer to achieve, an input position detectionfunction for detecting a position of an operator located on the firstand/or second display panels, a direction detection unit for detecting amoving direction of the operator, on the basis of a time change of thedetected position of the operator, a moved position calculation functionfor calculating a moved position to which an object selected with theoperator moves, the selected object moving to the moved position along apath in which the operator moves, and a display position correctionfunction for moving the selected object from the non-display region, onthe basis of a display position of the selected object or a movingdirection of the operator, in a case where at least a portion of theselected object having moved to the calculated moved position resides inthe non-display region.

As hereinabove described, according to the present invention, when atleast a portion of the moved object resides in the non-display region,the processing is performed to move the object from the non-displayregion, on the basis of the display position of the object or the movingdirection of the operator. Therefore, a user can easily move a displayobject displayed on one of the display screens to the other of thedisplay screens without performing any special operation.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an explanatory diagram for illustrating an external appearanceof an information processing apparatus according to the first embodimentof the present invention;

FIG. 2 is a block diagram for illustrating a configuration of theinformation processing apparatus according to the embodiment;

FIG. 3 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 4 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 5A is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 5B is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 6 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 7 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 8 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 9 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 10 is an explanatory diagram for illustrating the informationprocessing apparatus according to the embodiment;

FIG. 11 is a flow diagram for illustrating an information processingmethod according to the embodiment;

FIG. 12 is a block diagram for illustrating a hardware configuration ofthe information processing apparatus according to each embodiment of thepresent invention; and

FIG. 13 is an explanatory diagram for illustrating a conventionalinformation processing apparatus.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Hereinafter, preferred embodiments of the present invention will bedescribed in detail with reference to the appended drawings. Note that,in this specification and the appended drawings, structural elementsthat have substantially the same function and structure are denoted withthe same reference numerals, and repeated explanation of thesestructural elements is omitted.

The explanation will be made in the following order.

(1) Purpose

(2) First embodiment

(2-1) External appearance of information processing apparatus

(2-2) Configuration of information processing apparatus

(2-3) Regarding information processing method

(3) Hardware configuration of information processing apparatus accordingto each embodiment of the present invention

(4) Summary <Purpose>

Before explaining an information processing apparatus and an informationprocessing method according to each embodiment of the present invention,issues that many occur in an electronic appliance having two displayscreens will be explained with reference to FIG. 13 so as to elucidatethe present invention.

For example, a case is assumed where a user moves an object 503 such asan icon displayed on one of two display screens 501A and 501B of anelectronic appliance by, e.g., drag operation, as shown in FIG. 13. Atthis occasion, depending on user's operation, a portion of the object503 having been moved may possibly placed in a connection portion 505located between the display screen 501A and the display screen 501B asshown in FIG. 13.

In a case where pixels are present in the connection portion 505, asshown in FIG. 13A, a portion of the object 503 resides in the connectionportion 505, but the external housing of the connection portion 505 maynot display the portion of the object 503. As a result, there is adifficulty for a user to understand the object 503.

In a case where pixels are not present in the connection portion 505, asshown in FIG. 13B, the object 503 is displayed in such a manner that theobject 503 is split in the middle. As a result, a user perceives thesize of the object being different from what it actually is.

As described above, when a portion of the object resides in theconnection portion in the electronic appliance having the two displayscreens connected via the connection portion that does not display anyobject, a user feels odd in the way the object appears compared with acase where the user sees the object in one screen. Therefore, when themoving processing of the object is executed across the screens, atechnique is needed to avoid the object from being placed in theconnection portion without requiring the user to perform any specialoperation.

Taking the above circumstances into consideration, the below-describedembodiment of the present invention provides the information processingapparatus and the information processing method capable of easily movinga display object displayed on one display screen to another displayscreen without requiring any special operation to be performed.

First Embodiment External Appearance of Information Processing Apparatus

First, the entire configuration of the information processing apparatusaccording to the first embodiment of the present invention will bedescribed with reference to FIG. 1. FIG. 1 is an explanatory diagram forillustrating the external appearance of the information processingapparatus 10 according to the present embodiment.

As shown in FIG. 1, the information processing apparatus 10 has twodisplay units having touch panels (hereinafter referred to as touchpanels) 101A and 101B, and members arranged with respective touch panelsare connected with each other so as to be foldable. Each of the touchpanel 101A and 101B displays various kinds of information such as textsand images. Various kinds of information displayed on each of the touchpanel 101A and 101B are subjected to predetermined processings such asscrolling in accordance with contact and movement of an operator 12.Further, the touch panel 101A and 101B may be arranged with a particularprocessing area. In this particular processing area, for example, anobject such as an icon for executing a predetermined processing isdisplayed. When this particular processing area is selected, thepredetermined processing associated with the displayed object isexecuted.

In this foldable information processing apparatus 10, a user canseparately operate each of the touch panel 101A and 101B (which may behereinafter abbreviated as touch panels 101) by operating the operator12. Further, the user can also perform operation across the touch panel101A and 101B by operating the operator 12.

Further, particular processings such as selection of an object andmoving of displayed contents are not the only operations performed bythe information processing apparatus 10 in response to contact and moveof the operator 12. For example, when the operator 12 moves along apredetermined path while the operator 12 is in contact with the touchpanel 101, the information processing apparatus 10 performs apredetermined processing corresponding to the path along which theoperator 12 has moved. In other words, the information processingapparatus 10 has a gesture input function. For example, when apredetermined gesture is input, an application associated with thegesture is started, or a predetermined processing associated with thegesture is executed.

For example, a user's finger and the like is used as the operator 12.Alternatively, for example, a stylus, a touch pen, and the like may beused as the operator 12. Alternatively, in a case where the touch panels101 are optical type, any object can be the operator 12. For example,when the touch panels 101 are optical type, a soft tool such as a brush,with which it is difficult to press the touch panel 101, may be used asthe operator 12. Alternatively, when the touch panels 101 are in-celloptical touch panels, any object can be the operator 12 as long as theobject can throw its shadow over the touch panel 101.

Hereinafter, the in-cell optical touch panel will be briefly explained.There are several kinds of optical touch panels. For example, arelatively well-known optical touch panel is arranged with an opticalsensor on an exterior frame of a liquid crystal panel constituting aliquid crystal display and performs a method for detecting, with thisoptical sensor, the position and the moving direction of the operator 12which is in contact with the liquid crystal panel. In contrast to thismethod, the in-cell optical touch panel has an optical sensor array on aliquid crystal panel and has a mechanism to detect, with this opticalsensor array, the position and the moving direction of the operator 12which is in contact with the liquid crystal panel.

More particularly, optical sensors and lead circuits are formed on aglass substrate of the optical touch panel. The optical sensors detectlight incident from the outside, and the lead circuits read theintensity thereof to recognize the shadow of the operator 12. Asdescribed above, the in-cell optical touch panel can detect the shape,the contacting area, and the like of the operator 12 on the basis of theshadow of the operator 12. Therefore, the in-cell optical touch panelcan realize operation with a contacting “surface”, which is consideredto be difficult with other optical touch panels. When the in-celloptical touch panel is employed, the in-cell optical touch panelprovides an advantage in improving the recognition accuracy and thedisplay quality and further improving a design of a liquid crystaldisplay and the like equipped with the in-cell optical touch panel.

The functions of the information processing apparatus 10 are achieved asa portable information terminal, a portable telephone, a portable gamemachine, a portable music player, broadcast equipment, a personalcomputer, a car navigation system, a home information appliance, or thelike.

<Configuration of Information Processing Apparatus>

Subsequently, the configuration of the information processing apparatusaccording to the present embodiment will be described with reference toFIG. 2.

FIG. 2 is a block diagram for illustrating the configuration of theinformation processing apparatus according to the present embodiment.

As shown in FIG. 2, the information processing apparatus 10 according tothe present embodiment mainly includes, for example, the two touch panel101A and 101B, a display control unit 105, an object selection unit 107,a direction detection unit 109, an object movement control unit 111, anda memory unit 117.

The touch panel 101A and 101B are operation and input units arranged onthe information processing apparatus 10 according to the presentembodiment. These touch panels 101 may be the above-describedelectrostatic touch panels, pressure-sensitive touch panels, opticaltouch panels, and in-cell optical touch panels. These touch panels 101may be formed integrally with a display unit such as a display device(not shown) or may be formed separately therefrom. Each of these touchpanels 101 further includes an input position detection unit 103.

The input position detection unit 103 detects the position on the touchpanel 101 in contact with the operator 12. The input position detectionunit 103 may be configured to detect a pressing force exerted on thetouch panel 101 when the operator 12 is in contact with the touch panel101. Alternatively, even when the operator 12 is not in direct contactwith the touch panel 101, the input position detection unit 103 may beadapted to detect the operator 12 present in proximity to the touchpanel 101 in a space above the touch panel 101 so as to recognize thedetected position as a contacting position. In other words, thecontacting position, as referred to herein, may include positionalinformation about operation performed by the operator 12 in such amanner as to cut the air above the screen of the touch panel 101.

The input position detection unit 103 transmits the information aboutthe detected contacting position (more specifically, a coordinate of thecontacting position), as input position information, to the displaycontrol unit 105, an object selection unit 107, and the directiondetection unit 109, which will be explained later. For example, when thedetected contacting position includes only one position as shown in FIG.3, the input position detection unit 103 outputs one coordinate (X1, Y1)as the input position information. Alternatively, when the detectedcontacting position includes two positions, the input position detectionunit 103 outputs a plurality of detected coordinates (X1, Y1) and (X2,Y2).

The display control unit 105 is constituted by, for example, a CPU(Central Processing Unit), a ROM (Read Only Memory), and a RAM (RandomAccess Memory). The display control unit 105 is control means forcontrolling the contents displayed on the touch panels 101. For example,the display control unit 105 reads thumb nail images of any image dataand object data of images such as pictures and album jackets recorded inthe later-described memory unit 117, and displays the thumb nail imagesand the object data on the touch panels 101. At this moment, the displaycontrol unit 105 specifies a display position of the object and notifiesthe display position of the object to the touch panels 101 so as tocause the object data to be displayed at the display position. To thisend, the display control unit 105 stores information about the displayposition and the like of the object to be displayed on the touch panel101A and 101B. The information about the display position and the likeof the object is transmitted from the display control unit 105 to theobject selection unit 107.

The display control unit 105 receives input position information fromthe input position detection unit 103. For example, when the operator 12in contact with the touch panel 101A and 101B moves, the display controlunit 105 receives the input position information from the input positiondetection unit 103 in real time. The display control unit 105 obtainsthe object of the information processing apparatus 10 from thelater-described memory unit 117 and the like, and displays the object onthe display screen. Further, when the display control unit 105 receivesinformation about a selected object from the later-described objectselection unit 107, the display control unit 105 can change the displayso as to emphasize the selected object. For example, the display controlunit 105 can perform a control so as to increase the brightness of theselected object and decrease the brightness of the non-selected object.

The object selection unit 107 is constituted by, for example, a CPU, aROM, and a RAM. The object selection unit 107 receives the inputposition information from the input position detection unit 103. Theobject selection unit 107 also receives the information about thedisplay position of the object and the like from the display controlunit 105. Then, the object selection unit 107 compares the inputposition information provided by the input position detection unit 103and the information about the display position provided by the displaycontrol unit 105. Further, the object selection unit 107 detects anobject selected with the operator 12. As a result of this processing,the object selection unit 107 transfers information about the object andthe like, such as a selected object including a motion picture contentand a selected thumbnail image, to the display control unit 105, thelater-described object movement control unit 111, and the like.

The direction detection unit 109 is constituted by, for example, a CPU,a ROM, and a RAM. The direction detection unit 109 uses the coordinatevalue, i.e., the input position information transferred from the inputposition detection unit 103, to detect a direction in which the operator12 moves.

More particularly, the direction detection unit 109 detects thedirection in which the operator 12 moves, on the basis of variation ofthe input position information that is transferred every time apredetermined time interval passes (for example, every time severalmilliseconds to several hundred milliseconds passes). For example, asshown in FIG. 4, a movement determination area used to determine whetherthe operator 12 moves or not is set in the direction detection unit 109.This movement determination area may be configured to be any size inaccordance with performance such as a resolution for distinguishing twocontacting positions adjacent to each other on the touch panels 101. Forexample, the movement determination area may have a radius ofapproximately ten pixels. When the transferred input positioninformation changes beyond this movement determination area, thedirection detection unit 109 determines that the operator 12 has moved.Alternatively, when the transferred input position information changeswithin the movement determination area, the direction detection unit 109can determine that a so-called tapping operation has been performed withthe operator 12. This determination as to whether the operator 12 hasmoved or not is made with respect to all of the input positioninformation transferred at a time. In other words, when two coordinatevalues are transferred as the input position information at a time, thedirection detection unit 109 makes a determination, as described above,on each of these two coordinate values changing with time.

When the transferred input position information changes beyond thismovement determination area, the direction detection unit 109 detects,as a moving direction, a direction of a vector along a locus generatedfrom the transferred input position information changing with time. Thesize of the vector represents the moving distance of the operator 12.

For example, as shown in FIG. 4, a case will be considered where theinput position detection unit 103 transfers input position informationabout a coordinate A (X1(t1), Y1(t1)) at a time t1, and a position at atime t2 corresponding to this input position information has acoordinate A′ (X3(t2), Y3(t2)). In this case, the direction detectionunit 109 detects a direction represented by a vector V1 between thestart coordinate A and the end coordinate A′ as the moving direction ofthe operator 12 in contact with the coordinate A. Further, the directiondetection unit 109 obtains the size of the vector V1 as the movingdistance of the operator 12.

Alternatively, as shown in FIG. 4, it is assumed that the input positiondetection unit 103 transfers input position information about acoordinate A (X1(t1), Y1(t1)) and a coordinate B (X2(t1), Y2(t1)) at thetime t1. Also in this case, a vector V1 and a vector V2 are defined onthe basis of coordinates A′ and B′ at the time t2 respectivelycorresponding to the input position information about the coordinate Aand the input position information about the coordinate B. When theplurality of pieces of input position information are transferred at atime, the direction detection unit 109 does not obtain each vectorgenerated from each input position information as the moving directionbut determines the moving direction by the following method.

For example, as shown in FIG. 4, the direction detection unit 109 candecide a direction corresponding to a sum of the two vectors V1 and V2as the moving direction. Alternatively, when not only two but also threeor more input position coordinates are transferred at a time, the movingdirection can be uniquely decided by obtaining a sum of vectors definedbased on input position coordinates changing with time. When the movingdirection is decided based on a plurality of vectors, the directiondetection unit 109 may obtain the magnitude of the sum of the vectors asthe moving distance of the operator 12 or may obtain a magnitude of anyone of the vectors as the moving distance of the operator 12.

Alternatively, as shown in FIG. 4, the direction detection unit 109 candetermine the moving direction on the basis of an angle θ between thetwo vectors V1 and V2. Also in this case, when three or more inputposition coordinates are transferred at a time, the direction detectionunit 109 defines a vector defined based on each input positioncoordinate changing with time. Subsequently, the direction detectionunit 109 chooses one of the defined vectors and can determine the movingdirection on the basis of an angle between this chosen vector andanother vector. In other words, when the angle θ therebetween is lessthan a predetermined threshold value, for example, the angle θtherebetween is an acute angle, this means that each vector in a similardirection. In contrast, when the angle θ therebetween is more than thepredetermined threshold value, for example, the angle θ therebetween isan obtuse angle, this means that each vector is in a direction away fromeach other.

Further, the direction detection unit 109 can calculate a moving speed,an acceleration, and the like of the operator 12 on the basis of thedetected moving distance and the detected moving time of the operator12. The direction detection unit 109 can determine whether operationperformed with the operator 12 is a so-called drag operation or aso-called flick operation on the basis of the moving distance, themoving speed, the acceleration, and the like. The drag operation meansdragging the operator 12 on the touch panel 101, in which the operator12 is considered to move at a substantially constant moving speed. Theflick operation means flicking the touch panel 101, in which theoperator 12 is considered to move at a fast moving speed (or a largeacceleration) in a short time.

The direction detection unit 109 transfers direction informationincluding the moving direction and the moving distance of the operator12, which has been detected as described above, to the object movementcontrol unit 111. In addition, the direction detection unit 109 alsotransfers a determination result as to whether the operation performedwith the operator 12 is the drag operation or the flick operation to theobject movement control unit 111.

The object movement control unit 111 is constituted by, for example, aCPU, a ROM, and a RAM. The object movement control unit 111 receives theinformation about an object selected with the operator 12 (hereinafterreferred to as selected object information) transferred from the objectselection unit 107. Further, the object movement control unit 111receives the information about the moving direction and the movingdistance of the operator 12 and information about the type of operationperformed with the operator 12 (hereinafter referred to as operationtype information) transferred from the direction detection unit 109.Further, the object movement control unit 111 receives information aboutthe display position of, e.g., an object from the display control unit105.

The object movement control unit 111 controls the movement of theselected object, on the basis of the selected object information, theinformation about the moving direction and the moving distance of theoperator, and the operation type information.

For example, as shown in FIG. 5A, when a drag operation is performed onan object 151 selected with the operator 12, the object movement controlunit 111 causes the selected object 151 to follow a trace of theoperator 12 in the same screen. In other words, when the drag operationis performed on the selected object 151, this selected object 151 doesnot move across the screens. In the example shown in FIG. 5A, the object151 selected with the operator 12 is displayed on the touch panel 101Aside, and therefore, this object follows the movement of the operator 12in the touch panel 101A.

As shown in FIG. 5B, when a flick operation (operation to flick theobject) is performed on the object 151 selected with the operator 12,the object movement control unit 111 quickly scrolls the selected object151 in the moving direction of the operator 12. When the object 151 isscrolled, the object 151 keeps on moving as if by inertia in accordancewith, e.g., the moving speed, the moving distance, and the accelerationof the operator 12, even after the operator 12 leaves the object 151. Inother words, after the operator 12 leaves the object 151, the objectmovement control unit 111 moves the object at a constant moving speed,and thereafter, gradually decreases the moving speed. After the objecthas automatically moved a certain distance, the object movement controlunit 111 controls the object to stop. The position to which the object151 moves is determined on the basis of, for example, the moving speed,the moving distance, and the like of the operator 12. Further, as shownin FIG. 5B, the object 151, on which a flick operation is performed, canmove across the screens. Namely, in the example shown in FIG. 5B, theobject 151, on which the flick operation is performed, is displayed onthe touch panel 101A side, but the object 151 can move to the touchpanel 101B side in accordance with the flick operation.

The object movement control unit 111 controlling movement of the objectas described above further includes the moved position calculation unit113 and the display position correction unit 115.

The moved position calculation unit 113 is constituted by, for example,a CPU, a ROM, and a RAM. The moved position calculation unit 113calculates a moved position to which the selected object moves, on thebasis of the selected object information, the information about themoving direction and the moving distance of the operator, and theoperation type information.

More particularly, when the operation type information represents dragoperation, the moved position calculation unit 113 calculates a movedposition to which the object moves such that a point of the imagerepresenting the object at which the operator 12 is in contact with theobject corresponds to a coordinate of the operator 12 after the operator12 moves on the touch panels 101. When the operation type informationrepresents flick operation, the moved position calculation unit 113calculates a position which the selected object automatically moves toand ultimately stops at, on the basis of, e.g., the moving direction,the moving distance, the moving speed, and the acceleration of theoperator 12. Alternatively, the position at which the selected objectultimately stops may be a coordinate of a position at which adistinctive point such as a barycenter of the object stops, or may be acoordinate of an edge of the object (for example, a side of the objectwhen the object is in a rectangular shape).

When the moved position calculation unit 113 calculates the movedposition to which the object moves, the object movement control unit 111can recognize at which position the object, displayed as a certain sizeon the display screen, will be ultimately displayed.

The moved position calculation unit 113 transfers information about themoved position to which the object moves obtained by calculation(hereinafter referred to as moved position information) to the displayposition correction unit 115.

The display position correction unit 115 is constituted by, for example,a CPU, a ROM, and a RAM. The display position correction unit 115determines whether the display position of the object should becorrected, on the basis of the moved position information of theselected object transferred from the moved position calculation unit113. When the display position is to be corrected, the display positioncorrection unit 115 determines a corrected display position of theobject.

More specifically, the display position correction unit 115 determineswhether at least a portion of the moved object resides in thenon-display region or not, on the basis of the transferred movedposition information about the object and the size of the object on thedisplay screen. In other words, the display position correction unit 115determines whether the entire moved object is displayed in the sametouch panel 101, on the basis of the moved position information, thesize of the object on the display screen, and the size of the displayscreen (i.e., the touch panels 101). The non-display region referred toherein corresponds to the connection unit located between the touchpanel 101A and the touch panel 101B, and is a region in which variousinformation including the object is not displayed. When at least aportion of the moved object resides in the non-display region, theobject is displayed across the two touch panels 101A and 101B, namely,the object is displayed in such a manner that the object is divided bythe non-display region. Therefore, the display position correction unit115 determines that the display position of the moved object is to becorrected. When the entire moved object is displayed in a same touchpanel 101, the display position correction unit 115 determines that thedisplay position of the moved object is not to be corrected.

When the display position is determined to be corrected, the displayposition correction unit 115 determines the direction in which theobject is moved in accordance with which the two touch panels 101A and101B the barycenter of the image of the moved object belongs to. Themethod for determining the direction in which the object is moved willbe described in detail with reference to FIGS. 6 and 7.

For example, as shown in FIG. 6A, a case will be considered where themoved object 151 is divided by a non-display region 153 and where abarycenter 155 of the image of the object resides in the touch panel101A. In this case, as shown in FIG. 6B, the display position correctionunit 115 requests the object movement control unit 111 to move thecorresponding object 151 to the touch panel 101A side in which thebarycenter 155 resides.

Further, the display position correction unit 115 configures the movingdistance of the corresponding object to be equal to or more than thesize of the corresponding object extending into one of the touch panels101 in which the barycenter 155 does not reside. In other words, in theexample shown in FIG. 6A, the length d of the corresponding objectextending into the touch panel 101B is configured to be the minimummoving distance.

The display position correction unit 115 transfers the determined movingdirection and the determined minimum moving distance to the objectmovement control unit 111. The object movement control unit 111 movesthe display position of the corresponding object 151 to the upper side.When the display position is thus corrected, the object residing acrossthe two screens is displayed in one screen.

On the other hand, for example, as shown in FIG. 7A, a case will beconsidered where the moved object 151 is divided by the non-displayregion 153 and where the barycenter 155 of the image of the objectresides in the touch panel 101B side. In this case, the display positioncorrection unit 115 requests the object movement control unit 111 tomove the corresponding object 151 to the touch panel 101B side in whichthe barycenter 155 resides as shown in FIG. 7B. In this case, thedisplay position correction unit 115 also configures the minimum movingdistance to be the length d of the corresponding object 151 extendinginto the touch panel 101A side.

It should be noted that FIG. 6B and FIG. 7B illustrates a case where theobject movement control unit 111 moves the corresponding object 151 by2d. In addition, when the display position of the object is corrected,the object movement control unit 111 may apply an animation to theobject such that the object, being about to stop, reaccelerates andsprings out into the corresponding touch panel side. When this kind ofanimation is applied, a user is reminded that “the object may not beplaced in the connection unit (i.e., the non-display region).”

In this way, the display position correction unit 115 can determine themoving direction of correction, on the basis of, in principle, which ofthe touch panels 101 the barycenter of the object resides in. In thefollowing cases, however, the display position correction unit 115 maydetermine the moving direction of correction, not on the basis of thebarycenter of the object but on the basis of the moving direction of theoperator 12.

Case 1: an object having moved to a different screen changes itsattribute

Case 2: a large object occupying much space on the display screen isoperated

Case 3: an object in proximity to the non-display region is operated

[Case 1: An Object Having Moved to a Different Screen Changes itsAttribute]

First, a correction processing where an object having moved to adifferent screen changes its attribute will be described in detail withreference to FIG. 8.

In this case, an attribute of objects displayed on the touch panel 101Ais different from an attribute of objects displayed on the touch panel101B. When an object is moved to a different screen, the attribute ofthe object changes. Examples of the attribute of the object include anowner of information corresponding to the object and locationinformation representing the location of the object.

In FIG. 8, the touch panel 101A displays objects relating to contentsowned by a user A, and the touch panel 101B displays objects relating tocontents owned by a user B. In this case, it is assumed that, when theobject displayed on the touch panel 101A is moved to the touch panel101B, information representing the owner of the corresponding objectchanges to the owner B.

In this case, when a user performs a flick operation on an object 151toward downward direction, it is considered that the user wants to movethe corresponding object 151 to the touch panel 101B side. Therefore, asshown in FIG. 8A, even when the object is displayed across both of thescreens, and the barycenter of the object resides in the touch panel101A, the display position correction unit 115 takes the user'sintention into consideration, and accordingly requests the objectmovement control unit 111 to move the object to the touch panel 101Bside. On the other hand, when the barycenter 155 of the object 151resides in the touch panel 101B side, the display position correctionunit 115 configures the moving direction of correction to be toward atouch panel in which the barycenter resides in accordance with theprinciple.

[Case 2: A Large Object Occupying Much Space on the Display Screen isOperated]

Next, a correction processing where a large object occupying much spaceon the display screen is operated will be described in detail withreference to FIG. 9.

As shown in FIG. 9A, this case relates to the correction processingwhere a flick operation is performed on a large object occupying muchspace on the display screen. In this case, it is assumed that a flickoperation is performed on a large object as shown in FIG. 9A, and theobject is displayed across both of the screens as shown in FIG. 9B.

Also in this case, when a user performs a flick operation on an object151 toward downward direction in the same manner as the above case 1, itis considered that the user wants to move the corresponding object 151to the touch panel 101B side. Therefore, as shown in FIG. 9C, even whenthe object is displayed across both of the screens, and the barycenterof the object resides in the touch panel 101A, the display positioncorrection unit 115 takes the user's intention into consideration, andaccordingly requests the object movement control unit 111 to move theobject to the touch panel 101B side. On the other hand, when thebarycenter 155 of the object 151 resides in the touch panel 101B side,the display position correction unit 115 configures the moving directionof correction to be toward a touch panel in which the barycenter residesin accordance with the principle.

[Case 3: An Object in Proximity to the Non-Display Region is Operated]

Subsequently, a correction processing where an object in proximity tothe non-display region is operated will be described in detail withreference to FIG. 10.

As shown in FIG. 10A, this case relates to the correction processingwhere a flick operation is performed on an object 151 adjacent to or inproximity to the non-display region 153. In this case, it is assumedthat a flick operation is performed on the object 151 in proximity tothe non-display region 153 as shown in FIG. 10A, and the object isdisplayed across both of the screens as shown in FIG. 10B.

Also in this case, when a user performs a flick operation on the object151 toward downward direction in the same manner as the above cases 1and 2, it is considered that the user wants to move the correspondingobject 151 to the touch panel 101B side. Therefore, as shown in FIG.10C, even when the object is displayed across both of the screens, andthe barycenter of the object resides in the touch panel 101A, thedisplay position correction unit 115 takes the user's intention intoconsideration, and accordingly requests the object movement control unit111 to move the object to the touch panel 101B side. On the other hand,when the barycenter 155 of the object 151 resides in the touch panel101B side, the display position correction unit 115 configures themoving direction of correction to be toward a touch panel in which thebarycenter resides in accordance with the principle.

As described above, the display position correction unit 115 correctsthe display position of the moved object displayed across both of thescreens in accordance with the position of the barycenter of the objector the moving direction of the operator.

The memory unit 117 of the information processing apparatus 10 accordingto the present embodiment will be hereinafter described with referenceback to FIG. 2.

The memory unit 117 stores object data to be displayed on the touchpanel 101A and 101B. The object data referred to herein includes, forexample, any part constituting graphical user interface (hereinafterreferred to as GUI) such as an icon, a button, and a thumbnail. Thememory unit 117 also stores attribute information in association witheach object data. Examples of the attribute information include creationdate, last modified date, name of creator, and name of modifier ofobject data or entity data, type of entity data, size of entity data,level of importance, level of priority, and the like.

The memory unit 117 also stores entity data corresponding to object datain such a manner that the entity data and the object data are associatedwith each other. The entity data referred to herein means datacorresponding to a predetermined processing executed when an objectdisplayed on the touch panel 101A and 101B is operated. For example, theobject data corresponding to a motion picture content is associated withthe content data of the motion picture content as entity data. Thememory unit 117 also stores a motion picture reproduction applicationfor reproducing the motion picture content in association with theobject data, the content data, or the attribute information.

The object data stored in the memory unit 117 is read by the displaycontrol unit 105, and is displayed on the touch panel 101A and 101B.

The memory unit 117 can store, as necessary, not only these data butvarious parameters and intermediate data or various databases, which areto be saved when the information processing apparatus 10 performs acertain processing. This memory unit 117 can be freely read and writtenby the input position detection unit 103, the display control unit 105,the object selection unit 107, the direction detection unit 109, theobject movement control unit 111, the moved position calculation unit113, the display position correction unit 115, and the like.

Exemplary functions of the information processing apparatus 10 accordingto the present embodiment have been described hereinabove. Each of theabove constituent elements may be made with a generally-used member andcircuit, or may be made with hardware dedicated for the function of eachconstituent element. Alternatively, all of the functions of theconstituent elements may be performed by a CPU and the like. Therefore,the used configuration may be changed as necessary in accordance withthe technical level at the time of carrying out the present embodiment.

It is possible to make a computer program for realizing the functions ofthe above-described information processing apparatus according to thepresent embodiment, and the computer program can be implemented on apersonal computer and the like. Further, a computer-readable recordingmedium storing such computer program can be provided. Examples of therecording medium include a magnetic disk, an optical disk, amagneto-optical disk, and a flash memory. Further, the above computerprogram may be distributed by, for example, a network, without using therecording medium.

<Regarding Information Processing Method>

The information processing method according to the present embodimentwill be hereinafter described in detail with reference to FIG. 11. FIG.11 is a flowchart for illustrating the information processing methodaccording to the present embodiment.

First, a user of the information processing apparatus 10 uses theoperator 12 such as a finger and a stylus to operate the touch panels101A and 101B so as to select an object such as an icon associated withan application for, e.g., displaying a list of objects. Therefore, theinformation processing apparatus 10 starts an application associatedwith the selected object (step S101).

Subsequently, the information processing apparatus 10 waits forreceiving an input from the user, and makes a determination as towhether the information processing apparatus 10 receives an input ofoperation for terminating the application (step S103). When theinformation processing apparatus 10 receives an input of operation forterminating the application from the user, the information processingapparatus 10 terminates the application currently running (step S105).

When the information processing apparatus 10 does not receive an inputof operation for terminating the application, the information processingapparatus 10 keeps on waiting for an input from the user.

When the user operates the operator 12 to touch the touch panel 101A orthe touch panel 101B, the input position detection unit 103 of thecorresponding touch panel detects a position at which the operator 12 isin contact with the touch panels 101 (step S107). The input positiondetection unit 103 transfers a corresponding coordinate of thecontacting position, as input position information, to the displaycontrol unit 105, the object selection unit 107, and the directiondetection unit 109.

The object selection unit 107 makes a determination as to whether theoperator 12 is in contact with the object, on the basis of thetransferred input position information and information about the displayposition of the object obtained from the display control unit 105 (stepS109). When the operator 12 is determined not to be in contact with theobject, the information processing apparatus 10 returns back to stepS107 again to detect the input position. When the operator 12 isdetermined to be in contact with the object, the object selection unit107 transfers information about the selected object to the objectmovement control unit 111. The moved position calculation unit 113 ofthe object movement control unit 111 calculates the moved position towhich the object moves transferred from the object selection unit 107,on the basis of the moving direction of the operator 12 transferred fromthe direction detection unit 109. The object movement control unit 111moves the object in accordance with the moved position calculated by themoved position calculation unit 113 (step S111). Therefore, the objectselected with the operator 12 moves with the movement of the operator12.

When the object selection unit 107 determines that the operator 12 is nolonger in contact with the object (step S113), the moved positioncalculation unit 113 calculates a stop position of the object inaccordance with the type of operation (step S115). More particularly,when the operation performed with the operator 12 is a drag operation,the moved position calculation unit 113 stops the movement of theselected object as soon as the operator 12 is no longer in contact. Whenthe operation performed with the operator 12 is a flick operation, themoved position calculation unit 113 calculates the stop position of theobject, on the basis of, e.g., the moving distance, the moving speed,and the acceleration, and the object movement control unit 111automatically moves the object to the moved position calculated by themoved position calculation unit 113.

Then, the display position correction unit 115 determines whether atleast a portion of the image of the object resides in the non-displayregion or not, on the basis of the calculated stop position of theobject, the size of the image of the object, and the size of the displayarea (step S117). When any portion of the image of the object does notreside in the non-display region, the information processing apparatus10 returns back to step S103 to wait for receiving operation performedby the user. On the other hand, at least a portion of the image of theobject resides in the non-display region, the display positioncorrection unit 115 determines whether the moving direction is to betaken into consideration or not (step S119).

More particularly, the display position correction unit 115 references,e.g., the attribute information of the object displayed on each of thetouch panels 101, the size of the image of the object, and the displayposition of the object, and determines whether the moving direction isto be taken into consideration or not. In a case where the user'sintention of the operation is to be taken into consideration such as theabove described case 1 to case 3, the display position correction unit115 corrects the display position of the object, not on the basis of thebarycenter of the image of the object but on the basis of the movingdirection of the operator 12 (step S121). On the other hand, when theuser's intention of the operation is not to be taken into consideration,the display position correction unit 115 corrects the display positionof the object, on the basis of the barycenter of the image of the object(step S123).

When the above correction processing is finished, the informationprocessing apparatus 10 returns back to step S103 to wait for operationperformed by the user.

As described above, in the information processing method according tothe present embodiment, an object can be moved from the non-displayregion on the basis of the display position of the object or the movingdirection of the operator when at least a portion of the image of theobject resides in the non-display region.

<Regarding Hardware Configuration>

Subsequently, the hardware configuration of the information processingapparatus 10 according to each embodiment of the present invention willbe described in detail with reference to FIG. 12. FIG. 12 is a blockdiagram for illustrating the hardware configuration of the informationprocessing apparatus 10 according to each embodiment of the presentinvention.

The information processing apparatus 10 mainly includes a CPU 901, a ROM903, and a RAM 905. The information processing apparatus 10 furtherincludes a host bus 907, a bridge 909, an external bus 911, an interface913, an input device 915, an output device 917, a storage device 919, adrive 921, a connection port 923, and a communication device 925.

The CPU 901 serves as an arithmetic processing apparatus and controlapparatus to control overall operation or a portion of operation in theinformation processing apparatus 10 in accordance with various programsstored in the ROM 903, the RAM 905, the storage device 919, or aremovable recording medium 927. The ROM 903 stores programs, operationparameters, and the like used by the CPU 901. The RAM 905 primarilystores programs used during execution of the CPU 901 and parameters andthe like varying during the execution as necessary. These are connectedwith each other via the host bus 907 constituted by an internal bus suchas a CPU bus.

The host bus 907 is connected to the external bus 911 such as a PCI(Peripheral Component Interconnect/Interface) via the bridge 909.

The input device 915 is operation means operated by a user, such as amouse, a keyboard, a touch panel, buttons, switches and levers. Theinput device 915 may be remote control means (a so-called remotecontroller) using, for example, infrared light and other radio waves, ormay be an externally connected device 929 such as a portable telephoneand a PDA adapted to operate the information processing apparatus 10.The input device 915 generates an input signal based on, for example,information input by a user with the above operation means, and isconstituted by an input control circuit for outputting the input signalto the CPU 901. A user of the information processing apparatus 10operates this input device 915 to input various data to the informationprocessing apparatus 10 and instructs the information processingapparatus 10 to perform processings and operation.

The output device 917 is constituted by a device capable of audibly orvisually notifying obtained information to a user. Examples of theoutput device 917 include display devices such as a CRT display device,a liquid crystal display device, a plasma display device, an EL displaydevice, and lamps, audio output devices such as a speaker and aheadphone, a printer, a portable telephone, and a facsimile machine. Theoutput device 917 outputs a result obtained from various processingsperformed by, for example, the information processing apparatus 10. Morespecifically, the display device displays a result, as texts or images,obtained from various processings performed by the informationprocessing apparatus 10. On the other hand, the audio output deviceconverts an audio signal such as reproduced audio data and sound datainto an analog signal, and outputs the analog signal.

The storage device 919 is an example of a storage unit of theinformation processing apparatus 10 and is adapted to store data. Thestorage device 919 is constituted by, for example, a magnetic storagedevice such as a HDD (Hard Disk Drive), a semiconductor storage device,an optical storage device, or a magneto-optical storage device. Thisstorage device 919 stores, for example, programs and various dataexecuted by the CPU 901 and various data obtained from the outside.

The drive 921 is a reader/writer for recording medium, and is embeddedin the information processing apparatus 10 or attached externallythereto. The drive 921 reads information stored in the loaded removablerecording medium 927 such as a magnetic disk, an optical disk, amagneto-optical disk, or a semiconductor memory, and outputs the readinformation to the RAM 905. The drive 921 can record the loadedremovable recording medium 927 such as a magnetic disk, an optical disk,a magneto-optical disk, or a semiconductor memory. The removablerecording medium 927 is, for example, a DVD medium, an HD-DVD medium,and a Blu-ray medium. The removable recording medium 927 may be aCompactFlash (registered trademark) (CompactFlash: CF), a memory stick,or an SD memory card (Secure Digital Memory Card). Alternatively, theremovable recording medium 927 may be, for example, an IC card(Integrated Circuit Card) mounted with a non-contact IC chip or anelectronic appliance.

The connection port 923 is a port for allowing apparatuses to directlyconnect to the information processing apparatus 10. Examples of theconnection port 923 include a USB (Universal Serial Bus) port, anIEEE1394 port such as i.Link, and a SCSI (Small Computer SystemInterface) port. Other examples of the connection port 923 include anRS-232C port, an optical audio terminal, and an HDMI (High-DefinitionMultimedia Interface) port. When the externally connected device 929 isconnected to this connection port 923, the information processingapparatus 10 directly obtains various data from the externally connecteddevice 929 and provides various data to the externally connected device929.

The communication device 925 is a communication interface constitutedby, for example, a communication device for connecting to acommunication network 931. The communication device 925 is, for example,a wired or wireless LAN (Local Area Network), Bluetooth, or acommunication card for WUSB (Wireless USB). Alternatively, thecommunication device 925 may be a router for optical communication, arouter for ADSL (Asymmetric Digital Subscriber Line), or a modem forvarious communications. This communication device 925 can transmit andreceive signals and the like in accordance with a predetermined protocolsuch as TCP/IP with, for example, the Internet and other communicationapparatuses. The communication network 931 connected to thecommunication device 925 is constituted by a network and the likeconnected via wire or connected wirelessly. For example, thecommunication network 931 may be the Internet, a home LAN, an infraredcommunication, a radio wave communication, or a satellite communication.

An example of hardware configuration capable of achieving the functionsof the information processing apparatus 10 according to each embodimentof the present invention has been described hereinabove. Each of theabove constituent elements may be made using a generally-used member, ormay be made with hardware dedicated for the function of the constituentelement. Therefore, the used hardware configuration can be changed asnecessary in accordance with the technical level at the time of carryingout the present embodiment.

SUMMARY

As hereinabove described, according to the information processingapparatus and the information processing method of the presentembodiment, the information processing apparatus displaying variousinformation using the plurality of display screens can present the sameinformation as an information processing apparatus displaying variousinformation using one display screen. The information processingapparatus according to the present embodiment does not arrange anyobject in the non-display region, and therefore has an advantage inthat: a user can easily recognize the content of an object; an object isnot divided when it is displayed; and the object is displayed as theoriginal size of the object.

When a portion of an object resides in the non-display region, thedisplay position of the object is corrected with the animation, so thata user can be notified that “the object may not be arranged in theconnection unit.”

Further, the determination criteria for the correction of the displayposition is changed in accordance with the size, the display position,the attribute information, and the like of the object, so that thelayout of the object can be corrected without causing a user to feelstressed, and the operability can be improved.

It should be understood by those skilled in the art that variousmodifications, combinations, sub-combinations and alterations may occurdepending on design requirements and other factors insofar as they arewithin the scope of the appended claims or the equivalents thereof.

For example, in the above embodiments, the information processingapparatus equipped with the two touch panels has been explained as anexample, but the present invention is not limited thereto. For example,the present invention can be applied to an information processingapparatus equipped with three or more touch panels in the same manner.

The present application contains subject matter related to thatdisclosed in Japanese Priority Patent Application JP 2009-017204 filedin the Japan Patent Office on 28 Jan. 2009, the entire content of whichis hereby incorporated by reference.

1. An information processing apparatus comprising: first and second display panels capable of displaying a plurality of objects, the first and second display panels being connected with each other via a connection unit serving as a non-display region in which the objects are not displayed; an input position detection unit for detecting a position of an operator located on the first and/or second display panels; a direction detection unit for detecting a moving direction of the operator, on the basis of a time change of the detected position of the operator; a moved position calculation unit for calculating a moved position to which an object selected with the operator moves, the selected object moving to the moved position along a path in which the operator moves; and a display position correction unit for moving the selected object from the non-display region, on the basis of a display position of the selected object or a moving direction of the operator, in a case where at least a portion of the selected object having moved to the calculated moved position resides in the non-display region.
 2. The information processing apparatus according to claim 1, wherein the display position correction unit moves the selected object to one of the first and second display panels in which a barycenter of the selected object resides, on the basis of the position of the barycenter of the selected object.
 3. The information processing apparatus according to claim 2, wherein the display position correction unit moves the selected object to one of the first and second display panels toward which the operator moves, in a case where the selected object is in proximity to the non-display region.
 4. The information processing apparatus according to claim 3, wherein the display position correction unit moves the selected object to one of the first and second display panels toward which the operator moves, in a case where attribute information associated with the selected object changes when the selected object is moved from one of the first and second display panels to the other of the first and second display panels.
 5. An information processing method, comprising the steps of: detecting a position of an operator located on first and/or second display panels capable of displaying a plurality of objects, the first and second display panel being connected with each other via a connection unit serving as a non-display region in which the objects are not displayed; detecting a moving direction of the operator, on the basis of a time change of the detected position of the operator; calculating a moved position to which an object selected with the operator moves, the selected object moving to the moved position along a path in which the operator moves; and moving the selected object from the non-display region, on the basis of a display position of the selected object or a moving direction of the operator, in a case where at least a portion of the selected object having moved to the calculated moved position resides in the non-display region.
 6. A program for a computer having first and second display panels capable of displaying a plurality of objects, the first and second display panels being connected with each other via a connection unit serving as a non-display region in which the objects are not displayed, the program causing the computer to achieve: an input position detection function for detecting a position of an operator located on the first and/or second display panels; a direction detection unit for detecting a moving direction of the operator, on the basis of a time change of the detected position of the operator; a moved position calculation function for calculating a moved position to which an object selected with the operator moves, the selected object moving to the moved position along a path in which the operator moves; and a display position correction function for moving the selected object from the non-display region, on the basis of a display position of the selected object or a moving direction of the operator, in a case where at least a portion of the selected object having moved to the calculated moved position resides in the non-display region. 